import { anyPost, anyGet } from '@/network'

/**
 * 发送短信验证码
 * @param phone 手机号
 */
export function sendSmsCode(phone: string) {
  return anyPost('/api/auth/sms/send', { phone })
}

/**
 * 发送邮箱验证码
 * @param email 邮箱
 */
export function sendEmailCode(email: string) {
  return anyPost('/api/auth/email/send', { email })
}

/**
 * 手机号认证
 * @param phone 手机号
 * @param code 验证码
 */
export function verifyPhone(phone: string, code: string) {
  return anyPost('/api/auth/verify/phone', { phone, code })
}

/**
 * 邮箱认证
 * @param email 邮箱
 * @param code 验证码
 */
export function verifyEmail(email: string, code: string) {
  return anyPost('/api/auth/verify/email', { email, code })
}

/**
 * 更新用户信息
 * @param data 用户信息
 */
export function updateProfile(data: any) {
  return anyPost('/api/auth/update-profile', data)
}

/**
 * 修改密码
 * @param oldPassword 旧密码
 * @param newPassword 新密码
 */
export function changePassword(oldPassword: string, newPassword: string) {
  return anyPost('/api/auth/change-password', { oldPassword, newPassword })
}

/**
 * 获取用户信息
 */
export function getUserInfo() {
  return anyGet('/api/auth/userinfo')
}

/**
 * 获取微信登录URL
 */
export function getWeChatLoginUrl() {
  return anyGet('/api/auth/wechat/login-url')
}

/**
 * 微信登录
 * @param code 授权码
 * @param state 状态参数
 */
export function wechatLogin(code: string, state: string) {
  return anyPost('/api/auth/wechat/login', { code, state })
}

/**
 * 绑定微信账户
 * @param code 授权码
 */
export function bindWeChatAccount(code: string) {
  return anyPost('/api/auth/wechat/bind', { code })
}

/**
 * 检查微信登录状态
 * @param state 状态参数
 */
export function checkWeChatLoginStatus(state: string) {
  return anyGet(`/api/auth/wechat/status?state=${state}`)
}